package com.cqjtu.store.product.mapper;

import com.cqjtu.store.product.pojo.dto.ProductCategoryPageDTO;
import com.cqjtu.store.product.pojo.entity.Product;
import com.cqjtu.store.product.pojo.entity.ProductCategory;
import com.cqjtu.store.cart.pojo.dto.entity.ShoppingCart;
import com.cqjtu.store.product.pojo.vo.ShoppingCartVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ProductMapper {

    List<ProductCategory> getProductCategoryList(Integer parent);

    List<ShoppingCart> getShoppingCartList(Integer id);

    Product getProductById(Integer productId);

    /**
     * 新到好货
     * @return
     */
    List<Product> getNewList();

    List<Product> getHotList();

    /**
     * 根据分类id查询商品列表
     * @param categoryId
     * @return
     */
    List<Product> getListByCategoryId(Integer categoryId);

    int count(Integer categoryId);

    List<Product> getProductByPage(ProductCategoryPageDTO categoryPageDTO);

    Product getProductDetailsById(Integer id);

    ShoppingCartVO getSettlement(@Param("productId") Integer productId,@Param("userId") Integer userId);

    int countPid(Integer id);

    int countCid(Integer categoryId);

    int add(Product product1);

    int update(Product product1);

    List<Product> getProduct();

    int count1();

    int delete(Integer id);

    int grounding(Integer ID);

    int offShelf(Integer id);
}
